package com.yi.wood.service;

import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

/**
 * @author MoYi
 * create date 2019/4/14 10:33
 */
public interface CommonService<T> {
    /**
     * 添加数据入库
     * @param t 数据
     * @return 入库后数据
     */
    T addData(T t);

    /**
     * 更新数据库数据
     * @param t 数据
     * @return 更新后数据
     */
    T updateData(T t);

    /**
     * 通过ID删除数据
     * @param id ID
     */
    void delData(Long id);

    /**
     * 分页查询数据
     * @param example 过滤条件
     * @param pageable 分页参数
     * @return 分页数据列表
     */
    Page<T> pageDataList(Example<T> example, Pageable pageable);
}
